FIG. 1 shows a typical configuration for an integrated circuit including a flash EEPROM (electrically erasable and programmable ROM) memory array 100 and circuitry enabling programming, erasing, reading, and overerase correction for memory cells in the array 100. The flash EEPROM array 100 is composed of individual flash memory cells, such as cell 102. Each cell 102 has a drain connected to a bit line, such as bit line 104, each bit line being connected to a bit line switch circuit 106 and column decoder 108. Sources of the array cells are connected to each other and VSL, which is the common source signal, while their gates are each connected by a word line to a row decoder 110.
The row decoder 110 receives voltage signals from a power supply 112 and distributes the particular voltage signals to the word lines as controlled by a row address received from a processor or state machine 114. Likewise, the bit line switch circuit 106 receives voltage signals from the power supply 112 and distributes the particular voltage signals to the bit lines as controlled by a signal from the processor 114. Voltages provided by the power supply 112 are controlled by signals received from processor 114.
The column decoder 108 provides signals from particular bit lines to sense amplifiers or comparators 116 as controlled by a column address signal received from processor 114. The power supply 112 supplies voltages to column decoder 108 and bit lines 104. Power supply 112 may include a charge pump circuit or external power supply to supply the bit line current on a bit line needed during programming or overerase correction.
The sense amplifiers 116 receive a signal from reference cells of reference array 118. With signals from the column decoder 108 and reference array 118, the sense amplifiers 116 then each provide a signal indicating a state of a bit line relative to a reference cell line to which it is connected through data latches or buffers 120 to processor 114.
To program a cell in the flash memory array 100, high gate-to-source voltage pulses are provided to the cell from power supply 112 while a source of the cell is grounded. For instance, during programming multiple gate voltage pulses typically of 9-10 V are each applied for approximately three to six microseconds to a cell, while a drain voltage of the cell is set to 4-4.5 V and its source is grounded. This bias from-drain to-source generates hot electrons near the drain side. The large gate-to-source voltage pulses enable a probability of hot electrons to overcome an energy barrier between the channel and floating gate formed by a thin dielectric layer, thereby driving hot electrons onto the floating gate of the cell. This programming procedure, termed “hot electron injection,” results in an increase of a threshold voltage for the cell, the threshold being the gate-to-source voltage required for the cell to conduct.
The entire program operation is repeatedly performed for all of the memory cells in a pre-selected unit, for example for the memory cells in a word unit (i.e., 16 bits). More specifically, program and the program-verify steps are first performed for all corresponding memory cells included in the word unit. Next, it is determined whether failed memory cells exist within the word unit. If it is determined that failed cells exist, the program step and the program-verify step are performed for the failed cells. These processes are performed until failed memory cells do not exist.
As mentioned above, channel hot carrier injection is used to write (program) a “0” data into a respective flash cell, such as a NOR type cell with a floating gate. A word mode programming operation is usually used to program sixteen cells at a time. In 0.18 μm generations, the typical programming condition is as follows: control gate —9V, drain node —4.5V, source node —0V, and bulk node —0V. The typical cell current during programming is 0.2 mA. Therefore, the sixteen cells will consume 3.2 mA of current if simultaneously programmed. This programming current is provided from the power supply 112, which typically includes a pumping circuit for providing the regulated bit line voltage for programming the cell. The internal pumping circuit typically has an efficiency of about 15%, meaning the consumed power supply current is 21 mA (i.e., 3.2 mA/0.15). In other words, the power supply consumes more current to supply the cell programming current, since the cell drain node has a higher voltage level (4-4.5V) than the power supply (2.7-3.3V).
This large programming current may create power noise. That is, the power supply is connected to each transistor in the memory chip through metal lines having resistance. Therefore, there is a voltage drop due to the large current flowing across these connection lines leading to power noise. Also, there is a specified upper limit to the power supply current defined for the memory device. This large current can approach or exceed that current. Further, tester units for testing memory devices have upper limits for power supply output current. A tester can test multiple chips at the same time. Therefore, high current consumption by chips limits the number of chips that can be tested at one time by the tester.
Still further, bit line leakage current is present once cells are over-erased. This leakage current can increase when the bit line is at a high voltage level compared to the reading condition. This bit line leakage current can cause the regulated voltage to drop below the voltage level necessary for programming.
Therefore, there remains a need for a semiconductor memory device with improved programming capabilities and efficiencies and a method of programming the same.